/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package LogicaDeNegocio;
import PersistenciaDelNegocio.Manejador;
import UIDelNegocio.Inicio;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.ResultSet;
import com.mysql.jdbc.Statement;
import java.util.Date;
import java.util.List;
import javax.swing.JComboBox;
import javax.swing.UIManager;
/**
 *
 * @author Anya
 */
public class Main {

    public static Manejador ac = new Manejador();

    public static void main(String[] args) {

        try
        {
           UIManager.setLookAndFeel("net.sourceforge.napkinlaf.NapkinLookAndFeel");
        }
        catch (Exception e)
        {
        e.printStackTrace();
        }
        Inicio vent= new Inicio();
        vent.setVisible(true);


        //Proveedor a = ac.consultarProveedor("1");
        //System.out.println(a.getNombre());

        //Empleado a = ac.consultarEmpleado(1);
        //System.out.println(a.getNombre());
        //this.guardarEmpleado();
    }



    // INSERT

    public static int guardarEmpleado(int ci, String nombre,String apellido,Date fechaNacimiento,String telefono,String sexo,String estadoCivil,String direccion,int sueldo,String nivelEstudios,Date fechaEntrada,String cargo,String tiendaNombre,String centroDistribucionNombre){
        Empleado empleado = new Empleado(ci, nombre, apellido, fechaNacimiento, telefono, sexo, estadoCivil, direccion, sueldo, nivelEstudios, fechaEntrada, cargo, tiendaNombre, centroDistribucionNombre);
        System.out.println("LLEGUE A MAIN");
       return  ac.guardarEmpleado(empleado);
    }

    public static int guardarLocalidad(String nombre,String direccion,int tam,String telefono,Date fecha_apertura,String dias,String correo,String horario,String centroDistribucionNombre,String vigilancia_rif,int contactoCI){
        Tienda tienda = new Tienda(nombre,direccion,tam,telefono,fecha_apertura,dias,correo,horario,centroDistribucionNombre,vigilancia_rif,contactoCI);

       return  ac.guardarLocalidad(tienda);
    }

    public static int guardarProveedor(String rif, String nombre,String telefono,String direccion,String centroDistribucionNombre,int personaContactoCi){
        Proveedor proveedor = new Proveedor(rif,nombre,telefono,direccion,centroDistribucionNombre,personaContactoCi);

       return  ac.guardarProveedor(proveedor);
    }

    public static int guardarCamion(String placa, String modelo, String marca, String ano, int capacidad, String centro_distribucion_nombre){
        Camiones camion = new Camiones(placa,modelo,marca,ano,capacidad,centro_distribucion_nombre);

       return  ac.guardarCamion(camion);
    }


    public static int guardarProducto(String codigo, String descripcion,Date fecha_creacion,Date fecha_modificacion,String subclase){
        Producto producto = new Producto(codigo,descripcion,fecha_creacion,fecha_modificacion,subclase);

       return  ac.guardarProducto(producto);
    }


    public static int guardarVigilancia(String rif, String nombre,String telefono,String direccion,int personaContactoCi){
        Vigilancia vigilancia = new Vigilancia(rif,nombre,telefono,direccion,personaContactoCi);

       return  ac.guardarVigilancia(vigilancia);
    }
public static int guardarPersonaContacto(int contactoCI, String nombre,String apellido,String telefono){
        PersonaContacto personaContacto = new PersonaContacto(contactoCI,nombre,apellido,telefono);
System.out.println("LLEGUE A MAIN");
       return  ac.guardarPersonaContacto(personaContacto);
    }

    public static int guardarDepartamento(String nombre){
        Departamento departamento = new Departamento(nombre);

       return  ac.guardarDepartamento(departamento);
    }


    public static int guardarClase(String nombre, String departamento_idDepartamento){
        Clase clase = new Clase(nombre,departamento_idDepartamento);

       return  ac.guardarClase(clase);
    }


    public static int guardarSubclase(String nombre,String clase_idClase){
        Subclase subclase = new Subclase(nombre,clase_idClase);

       return  ac.guardarSubclase(subclase);
    }

    public static int guardarOrdenCompra(String idOrdenCompra,Date fechaGeneracion,Date fechaEntrega,String estatus,String transporte,int totalCompra,String tiendaNombre,String proveedorRIF){
        OrdenCompra ordenCompra = new OrdenCompra(idOrdenCompra,fechaGeneracion,fechaEntrega,estatus,transporte,totalCompra,tiendaNombre,proveedorRIF);

       return  ac.guardarOrdenCompra(ordenCompra);
    }

    public static int guardarTransferencia(int idTranferencia, Date fechaGeneracion,Date fechasEntrega,String estatus,String transporte,String tiendaNombre){
        Transferencia transferencia = new Transferencia(idTranferencia,fechaGeneracion,fechasEntrega,estatus,transporte,tiendaNombre);

       return  ac.guardarTransferencia(transferencia);
    }

    public static int guardarPedido(int idPedido,Date fechaGeneracion,Date fechaEntrega,String estatus,String transporte,String tiendaNombre){
        Pedido pedido = new Pedido(idPedido,fechaGeneracion,fechaEntrega,estatus,transporte,tiendaNombre);

       return  ac.guardarPedido(pedido);
    }

    public static int guardarPersona(int ci,String nombre,String telefono,String direccion){
        PersonaContacto pedido = new PersonaContacto(ci,nombre,telefono,direccion);

       return  ac.guardarPersona(pedido);
    }


   // DELETE

       public static int borrarEmpleado(Integer Empleado){
        //Empleado empleado = new Empleado();

       return  ac.borrarEmpleado(Empleado);
    }

    public static int borrarLocalidad(String Tienda){
        //Tienda tienda = new Tienda();

       return  ac.borrarLocalidad(Tienda);
    }

    public static int borrarProveedor(String Proveedor){
        //Proveedor proveedor = new Proveedor();

       return  ac.borrarProveedor(Proveedor);
    }

    public static int borrarPersona(int Proveedor){
        //Proveedor proveedor = new Proveedor();

       return  ac.borrarPersona(Proveedor);
    }

    public static int borrarCamion(String Camion){
        //Camiones camion = new Camiones();

       return  ac.borrarCamion(Camion);
    }


    public static int borrarProducto(String Producto){
        //Producto producto = new Producto();

       return  ac.borrarProducto(Producto);
    }


    public static int borrarVigilancia(String Vigilancia){
        //Vigilancia vigilancia = new Vigilancia();
        System.out.println("entro");
       return  ac.borrarVigilancia(Vigilancia);
    }
  public static int borrarPersonaContacto(Integer PersonaContacto){
        //Vigilancia vigilancia = new Vigilancia()  public static int borrarPersonaContacto(String Vigilancia){
        System.out.println(PersonaContacto);
       return  ac.borrarPersonaContacto(PersonaContacto);
    }
    public static int borrarDepartamento(String nombre){
        //Departamento departamento = new Departamento();

       return  ac.borrarDepartamento(nombre);
    }


    public static int borrarClase(String nombre){
        //Clase clase = new Clase();

       return  ac.borrarClase(nombre);
    }


    public static int borrarSubclase(String nombre){
        //Subclase subclase = new Subclase();

       return  ac.borrarSubclase(nombre);
    }

    public static int borrarOrdenCompra(String OrdenCompra){
        //OrdenCompra ordenCompra = new OrdenCompra();

       return  ac.borrarOrdenCompra(OrdenCompra);
    }

    public static int borrarTransferencia(Integer Transferencia){
        //Transferencia transferencia = new Transferencia();

       return  ac.borrarTransferencia(Transferencia);
    }

    public static int borrarPedido(Integer Pedido){
        //Pedido pedido = new Pedido();

       return  ac.borrarPedido(Pedido);
    }


    // UPDATE

       public static int actualizarEmpleado(int ci, String nombre,String apellido,Date fechaNacimiento,String telefono,String sexo,String estadoCivil,String direccion,int sueldo,String nivelEstudios,Date fechaEntrada,String cargo,String tiendaNombre,String centroDistribucionNombre){
        Empleado empleado = new Empleado(ci, nombre, apellido, fechaNacimiento, telefono, sexo, estadoCivil, direccion, sueldo, nivelEstudios, fechaEntrada, cargo, tiendaNombre, centroDistribucionNombre);

       return  ac.actualizarEmpleado(empleado);
    }

    public static int actualizarLocalidad(String nombre,String direccion,int tam,String telefono,Date fecha_apertura,String dias,String correo,String horario,String centroDistribucionNombre,String vigilancia_rif,int contactoCI){
        Tienda tienda = new Tienda(nombre,direccion,tam,telefono,fecha_apertura,dias,correo,horario,centroDistribucionNombre,vigilancia_rif,contactoCI);

       return  ac.actualizarLocalidad(tienda);
    }
            public static int actualizarPersonaContacto(Integer ci, String nombre,String apellido,String telefono){
        PersonaContacto contacto = new PersonaContacto(ci,nombre,apellido,telefono);

       return  ac.actualizarPersonaContacto(contacto);
    }

    public static int actualizarProveedor(String rif, String nombre,String telefono,String direccion,String centroDistribucionNombre,int personaContactoCi){
        Proveedor proveedor = new Proveedor(rif,nombre,telefono,direccion,centroDistribucionNombre,personaContactoCi);

       return  ac.actualizarProveedor(proveedor);
    }

    public static int actualizarCamion(String placa, String modelo, String marca, String ano, int capacidad, String centro_distribucion_nombre){
        Camiones camion = new Camiones(placa,modelo,marca,ano,capacidad,centro_distribucion_nombre);

       return  ac.actualizarCamion(camion);
    }


    public static int actualizarProducto(String codigo, String descripcion,Date fecha_creacion,Date fecha_modificacion,String subclase){
        Producto producto = new Producto(codigo,descripcion,fecha_creacion,fecha_modificacion,subclase);

       return  ac.actualizarProducto(producto);
    }


    public static int actualizarVigilancia(String rif, String nombre,String telefono,String direccion,int personaContactoCi){
        Vigilancia vigilancia = new Vigilancia(rif,nombre,telefono,direccion,personaContactoCi);

       return  ac.actualizarVigilancia(vigilancia);
    }


    public static int actualizarDepartamento(String nombre,String nombre1){
        Auxiliar aux = new Auxiliar(nombre,nombre1);

       return  ac.actualizarDepartamento(aux);
    }


    public static int actualizarClase(String nombre, String nombre1){
        Auxiliar aux = new Auxiliar(nombre,nombre1);

       return  ac.actualizarClase(aux);
    }


    public static int actualizarSubclase(String nombre,String nombre1){
        Auxiliar aux = new Auxiliar(nombre,nombre1);

       return  ac.actualizarSubclase(aux);
    }

    public static int actualizarOrdenCompra(String idOrdenCompra,Date fechaGeneracion,Date fechaEntrega,String estatus,String transporte,int totalCompra,String tiendaNombre,String proveedorRIF){
        OrdenCompra ordenCompra = new OrdenCompra(idOrdenCompra,fechaGeneracion,fechaEntrega,estatus,transporte,totalCompra,tiendaNombre,proveedorRIF);

       return  ac.actualizarOrdenCompra(ordenCompra);
    }

    public static int actualizarTransferencia(int idTranferencia, Date fechaGeneracion,Date fechasEntrega,String estatus,String transporte,String tiendaNombre){
        Transferencia transferencia = new Transferencia(idTranferencia,fechaGeneracion,fechasEntrega,estatus,transporte,tiendaNombre);

       return  ac.actualizarTransferencia(transferencia);
    }

    public static int actualizarPedido(int idPedido,Date fechaGeneracion,Date fechaEntrega,String estatus,String transporte,String tiendaNombre){
        Pedido pedido = new Pedido(idPedido,fechaGeneracion,fechaEntrega,estatus,transporte,tiendaNombre);

       return  ac.actualizarPedido(pedido);
    }



    // SELECT


       public static Empleado consultarEmpleado(Integer ci){
        //Empleado empleado = new Empleado();
        System.out.println("EN EL MAIN");
       return  ac.consultarEmpleado(ci);
    }

    public static Tienda consultarLocalidad(String nombre){
        //Empleado empleado = new Empleado();
 System.out.println("ando en el main de localidad"+nombre);
       return  ac.consultarLocalidad(nombre);
    }

      public static List consultarVigilancia(){
        //Empleado empleado = new Empleado();

       return  ac.consultarVigilancia();
    }


              public static Vigilancia consultarVigilanciaNombre(String nombre){
        //Empleado empleado = new Empleado();

       return  ac.consultarVigilanciaNombre(nombre);
    }


       public static List consultarProveedor_Producto(String rif){

       return  ac.consultarProducto_Proveedor(rif);
    }

       public static List consultarTiendaDeVigilancia(String rif){
        //Empleado empleado = new Empleado();
       System.out.println("ando en el main de consultar Tienda de vig"+rif);
       return  ac.consultarTiendaDeVigilancia(rif);
    }

    public static Proveedor consultarProveedor(String rif){
        //Empleado empleado = new Empleado();

       return  ac.consultarProveedor(rif);
    }

    public static Camiones consultarCamion(String placa){
        //Empleado empleado = new Empleado();

       return  ac.consultarCamion(placa);
    }


    public static Producto consultarProducto(String codigo){
        //Empleado empleado = new Empleado();

       return  ac.consultarProducto(codigo);
    }


    public static Vigilancia consultarVigilancia(String rif){
        //Empleado empleado = new Empleado();

       return  ac.consultarVigilancia(rif);
    }
public static PersonaContacto consultarPersonaContacto(Integer contactoCI){
        //Clase clase = new Clase();

       return  ac.consultarPersonaContacto(contactoCI);
    }

/*
    public static Departamento consultarDepartamento(){
        //Empleado empleado = new Empleado();

       return  ac.consultarDepartamento();
    }*/
    public static JComboBox consultarDepartamento2(){
        //Empleado empleado = new Empleado();

       return  ac.consultarDepartamento2();
    }


    public static JComboBox consultarClase2(){
        //Empleado empleado = new Empleado();

       return  ac.consultarClase2();
    }

public static JComboBox consultarSubclase2(){

    return ac.consultarSubclase2();
}


   /* public static Subclase consultarSubclase(String idSubclase){
        //Empleado empleado = new Empleado();

       return  ac.consultarSubclase(idSubclase);
    }*/

    public static OrdenCompra consultarOrdenCompra(String idorden_compra){
        //Empleado empleado = new Empleado();

       return  ac.consultarOrdenCompra(idorden_compra);
    }

    public static Transferencia consultarTransferencia(Integer idTranferencia){
        //Empleado empleado = new Empleado();

       return  ac.consultarTransferencia(idTranferencia);
    }

    public static Pedido consultarPedido(Integer idpedido){
        //Empleado empleado = new Empleado();

       return  ac.consultarPedido(idpedido);
    }

    public static int actualizarProducto_proveedor(String rif, String codigo, int costo) {
        Producto_proveedor pp = new Producto_proveedor(codigo,rif,costo);

       return  ac.actualizarProducto_proveedor(pp);
    }

    public static int borrarProducto_proveedor(String codigo) {
        
        return  ac.borrarProducto_proveedor(codigo);
    }

    public List consultarLocalidad() {
       return  ac.consultarLocalidad();
    }

    public List consultarProducto() {
       return  ac.consultarProducto();

    }

    public List consultarProveedor() {
        return  ac.consultarProveedor();
    }

    public List consultarProveedor_ProductoC(String codigo) {
        return  ac.consultarProducto_ProveedorC(codigo);
    }

  

    public List consultarSubclase() {
         return  ac.consultarSubclase();
    }

    public int guardarProducto_proveedor(String proveedor_rif,String codigo_producto,int costo) {
        Producto_proveedor nuevoProducto_proveedor = new Producto_proveedor(codigo_producto,proveedor_rif,costo);
        return ac.guardarProducto_proveedor(nuevoProducto_proveedor);
    }






    public static List consultarProveedorGeneral(){
        //Empleado empleado = new Empleado();

       return  ac.consultarProveedorGeneral();
    }

    public static Proveedor consultarProveedorUnico(String a){
        //Empleado empleado = new Empleado();

       return  ac.consultarProveedorUnico(a);
    }

    public static Proveedor consultarProductoMayorUnico(String a){
        //Empleado empleado = new Empleado();

       return  ac.consultarProductoMayorUnico(a);
    }

    public static List consultarProductoMayorGeneral(){
        //Empleado empleado = new Empleado();

       return  ac.consultarProductoMayorGeneral();
    }

    public static List consultarTiendaMenorProducto(){
        //Empleado empleado = new Empleado();

       return  ac.consultarTiendaMenorProducto();
    }

    public static List consultarTiendaMayorTamano(){
        //Empleado empleado = new Empleado();

       return  ac.consultarTiendaMayorTamano();
    }

    public static List consultarTiendaMenorTamano(){
        //Empleado empleado = new Empleado();

       return  ac.consultarTiendaMenorTamano();
    }

    public static List consultarCamionesMayorEntregaGeneral(){
        //Empleado empleado = new Empleado();

       return  ac.consultarCamionesMayorEntregaGeneral();
    }

    public static List consultarCamionesMayorEntregaUnico(String a){
        //Empleado empleado = new Empleado();

       return  ac.consultarCamionesMayorEntregaUnico(a);
    }






    public static List pedidoGeneral(){
        //Empleado empleado = new Empleado();

       return  ac.pedidoGeneral();
    }

    public static List pedidoUnica(String a){
        //Empleado empleado = new Empleado();

       return  ac.pedidoUnica(a);
    }

    public static List orden_compraGeneral(){
        //Empleado empleado = new Empleado();

       return  ac.orden_compraGeneral();
    }

    public static List orden_compraUnico(String a){
        //Empleado empleado = new Empleado();

       return  ac.orden_compraUnico(a);
    }

    public static List transferenciaGeneral(){
        //Empleado empleado = new Empleado();

       return  ac.transferenciaGeneral();
    }

    public static List transferenciaUnica(String a){
        //Empleado empleado = new Empleado();

       return  ac.transferenciaUnica(a);
    }
}



